﻿#ifndef SQLITEOPERATOR_H
#define SQLITEOPERATOR_H

#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QDebug>
#include <QDateTime>

typedef struct
{
    int id;
    QString name;
    long long taskTime;//数据库中存储的时间
    int intervalType;
    long long createTime;
//    QString nextTimeStr;
    QDateTime nextTime;//界面上显示的下次时间
    int statusFlag;        //0：不启用，1：启用
    int mode;               //1:关机，2，睡眠
}TaskMain;

class SqliteOperator
{
public:
    SqliteOperator();

    // 打开数据库
    bool openDb(void);
    // 创建数据表
    void createTable(void);
    // 判断数据表是否存在
    bool isTableExist(QString& tableName);
    // 查询全部数据
    void queryTable(QList<TaskMain> &taskMainList);
    // 插入数据
    void singleInsertData(TaskMain &singleData); // 插入单条数据
    void moreInsertData(QList<TaskMain> &moreData); // 插入多条数据
    // 修改数据
    void modifyData(int id, QString name, int age);
    // 删除数据
    void deleteData(int id);
    //删除数据表
    void deleteTable(QString& tableName);
    // 关闭数据库
    void closeDb(void);

private:
    QSqlDatabase database;// 用于建立和数据库的连接
};

#endif //  SQLITEOPERATOR_H
